Most network devices, such as routers and switches, include at least two operational planes, namely a control plane and a forwarding plane. The control plane typically executes various signaling, routing, and other control protocols in addition to configuring the forwarding plane. The forwarding plane usually performs packet processing operations such as IP forwarding and classification.
In the prior art, control processes and forwarding processes were executed on a common processing resource. More recently, the control and forwarding planes have been separated so that their respective processes could be executed on separate processing resources, which may even be from different vendors.
As a result, a more formal and standardized definition of the interface between the control and forwarding planes is required. For example, the Network Processing Forum (NPF) is developing an application programming interface (API) that facilitates communication between the control and forwarding planes in a distributed element architecture.
Operational characteristics that are important in such a distributed architecture include scalability, i.e., the ability to easily add resources; high availability; and robust signaling and routing protocol implementations. Optimizing these characteristics is more difficult when components are manufactured by different vendors, are distributed across different backplanes or run different operating systems.